package com.meituan.sdk.model.ddzhkh.generalreserve.generalreserveReserveCancelconfirm;

import com.meituan.sdk.annotations.ApiMeta;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 取消回调接口-取消结果确认
* This file was automatically generated.
*/
@ApiMeta(
    path = "/ddzhkh/generalreserve/reserve/cancelconfirm",
    businessId = 59,
    apiVersion = "10003",
    apiName = "generalreserve_reserve_cancelconfirm",
    needAuth = true
)
public class GeneralreserveReserveCancelconfirmRequest implements MeituanRequest<GeneralreserveReserveCancelconfirmResponse> {
    /**
    * <p data-diff-id="ct-diff-id-98f9e465-692d-43b1-9632-be611b0b1e99"><span style="color: rgb(31, 45, 61)">预约单id</span></p>
    */
    @NotNull(message = "leadsId不能为空")
    @SerializedName("leadsId")
    private Long leadsId;
    /**
    * <p data-diff-id="ct-diff-id-da0d925b-9dfe-452f-99e4-82b8fafdb7c8">门店id。<span style="color: rgba(0, 0, 0, 0.87)">该字段是混淆字段，实际值类型为混淆后的字符串类型。</span></p>
    */
    @NotBlank(message = "opPoiId不能为空")
    @SerializedName("opPoiId")
    private String opPoiId;
    /**
    * <p data-diff-id="ct-diff-id-f57440a2-f01c-4570-8f5f-a46b7e84d314"><span style="color: rgb(31, 45, 61)">接单结果：1.同意取消 2.拒绝取消</span></p>
    */
    @SerializedName("result")
    private Integer result;
    /**
    * <p data-diff-id="ct-diff-id-52d3a5c5-fb43-4fc1-8580-707ec4e11023"><span style="color: rgb(31, 45, 61)">扩展字段 注：类型为对象类型</span></p>
    */
    @SerializedName("extraMap")
    private String extraMap;

    public Long getLeadsId() {
        return leadsId;
    }
    public void setLeadsId(Long leadsId) {
        this.leadsId = leadsId;
    }
    public String getOpPoiId() {
        return opPoiId;
    }
    public void setOpPoiId(String opPoiId) {
        this.opPoiId = opPoiId;
    }
    public Integer getResult() {
        return result;
    }
    public void setResult(Integer result) {
        this.result = result;
    }
    public String getExtraMap() {
        return extraMap;
    }
    public void setExtraMap(String extraMap) {
        this.extraMap = extraMap;
    }


    @Override
    public MeituanResponse<GeneralreserveReserveCancelconfirmResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<GeneralreserveReserveCancelconfirmResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "GeneralreserveReserveCancelconfirmRequest{" + "leadsId=" + leadsId + "," + "opPoiId=" + opPoiId + "," + "result=" + result + "," + "extraMap=" + extraMap + "}";
    }
}
